package workflow;

import java.util.ArrayList;

import excepciones.OperacionNoCorrespondienteException;

import docente.Docente;
import TemasPracticas.Trabajo_Practico;

public class RGenerador implements Rol
{
  Generador generador;

  public RGenerador(Generador unGenerador){
    generador=unGenerador;
  }
  
  public void enviarTemas(){
    generador.enviarTemas();
  }
  
  public ArrayList<Tema> obtenerTemas(){
    return generador.obtenerTemas();
  }

  public ArrayList<Parrafo> obtenerParrafos(String titulo){
    return generador.obtenerParrafos(titulo);
  }

  public ArrayList<Ejercicio> obtenerEjercicios(String titulo){
    return generador.obtenerEjercicios(titulo);
  }
  
  public void agregarParrafo(String titulo, String contenido){
    generador.agregarParrafo(titulo, contenido);
  }
  
  public void agregarEjercicio(String titulo, String contenido){
    generador.agregarEjercicio(titulo, contenido);
  }
  
  public void modificarParrafo(Parrafo unParrafo, String contenido){
    generador.modificarParrafo(unParrafo,contenido);
  }
  public void modificarEjercicio(Ejercicio unEjercicio, String contenido){
    generador.modificarEjercicio(unEjercicio,contenido);
  }
  public void excepcion() throws OperacionNoCorrespondienteException{
    throw new OperacionNoCorrespondienteException();
  }
  
  public void crearTemas(ArrayList<String> titulos, Docente autor){
    try
    {
      excepcion();
    } 
    catch (OperacionNoCorrespondienteException e)
    {
      e.printStackTrace();
    }
  }

  public void comentarParrafo(Parrafo unParrafo, String comentario){
    try
    {
      excepcion();
    } 
    catch (OperacionNoCorrespondienteException e)
    {
      e.printStackTrace();
    }
  }
   
  public void comentarEjercicio(Ejercicio unEjercicio, String comentario){
    try
    {
      excepcion();
    } 
    catch (OperacionNoCorrespondienteException e)
    {
      e.printStackTrace();
    }
  }
    
  public void aprobar(String titulo){
    try
    {
      excepcion();
    } 
    catch (OperacionNoCorrespondienteException e)
    {
      e.printStackTrace();
    }
}

  public void desaprobar(String titulo){
    try
    {
      excepcion();
    } 
    catch (OperacionNoCorrespondienteException e)
    {
      e.printStackTrace();
    }
}
  
  public Trabajo_Practico generarVersionFinal(int dia, int mes, int anio,String titulo){
    try
    {
      excepcion();
    } 
    catch (OperacionNoCorrespondienteException e)
    {
      e.printStackTrace();
    }
    return null;
  }
}
